package com.qf.p1.service;

import com.qf.p1.model.Course;
import com.qf.p1.model.CourseTname;
import com.qf.p1.model.User;

import java.util.List;

/**
 * 课程的业务逻辑定义
 * @version v1.0.0
 * @Description:
 * @author: 姜红凯
 * @date: 2022.04.06
 * @since 1.0
 */
public interface CourseService {
    /**
     * 分页查询课程
     * @param pageNo 页码
     * @param pageSize 页大小
     * @param likeName 课程名模糊查询
     * @return 这一页数据
     */
    List<CourseTname> pageData(Integer pageNo, Integer pageSize, String likeName);

    /**
     *查询一共多少页
     * @param pageSize 页大小
     * @param likeName 课程名模糊查询
     * @return 一共的页数
     */
    int pageCount(Integer pageSize,String likeName);

    /**
     * 删除课程的方法
     * @param cid 课程id
     * @return 数据库中数据操作的结果
     */
    int deleteCourse(Integer cid);

    /**
     * 新增课程的方法
     * @param name 课程名称
     * @param teacherName 授课教师名
     * @param sMax 教室最大容量
     * @return 数据库中数据操作的结果
     */
    int addCourse(String name,String teacherName,Integer sMax);

    /**
     * 修改课程的方法
     * @param cid 课程id
     * @param name 课程名称
     * @param teacherName 授课教师名
     * @return 数据库中数据操作的结果
     */
    int updateCourse(Integer cid,String name,String teacherName);

    /**
     * 根据课程id查询这门课程的学生的集合
     * @param cid 课程id
     * @return 这门课程的学生的集合
     */
    List<User> findUserByCid(Integer cid);
}
